package main

import "fmt"

// 结构体构造函数：构造一个结构体示例函数
// 结构体是值类型
type person3 struct {
	name string
	city string
	age  int
	// 属性   类型
}

// 构造函数
func newPerson(he, city string, age int) *person3 { // 通常返回结构体的指针类型，加*
	return &person3{ // 取地址，加&
		name: he,
		city: city,
		age:  age,
	}
}

func main() {
	p1 := newPerson("小王子", "北京", 18)
	fmt.Printf("type:%T value:%#v", p1, p1)
}
